﻿namespace WMS.FC.Domain.PersistenceObject.Business
{
    public class TaskPO : WarehousePOBase
    {
        /// <summary>
        /// 编码
        /// </summary>
        public string Code { get; set; } = string.Empty;

        /// <summary>
        /// 类型编码
        /// </summary>
        public string TypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 区域编码
        /// </summary>
        public string ZoneCode { get; set; } = string.Empty;

        /// <summary>
        /// 产线编码
        /// </summary>
        public string LineCode { get; set; } = string.Empty;

        /// <summary>
        /// 设备编码
        /// </summary>
        public string EquipmentCode { get; set; } = string.Empty;

        /// <summary>
        /// 状态编码
        /// </summary>
        public string StateCode { get; set; } = string.Empty;

        /// <summary>
        /// 起点类型编码
        /// </summary>
        public string StartPointTypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 起点编码
        /// </summary>
        public string StartPointCdoe { get; set; } = string.Empty;

        /// <summary>
        /// 终点类型编码
        /// </summary>
        public string EndPointTypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 终点编码
        /// </summary>
        public string EndPointCode { get; set; } = string.Empty;

        /// <summary>
        /// 优先级
        /// </summary>
        public int Priority { get; set; }

        /// <summary>
        /// 容器条码
        /// </summary>
        public string ContainerBarcode { get; set; } = string.Empty;

        /// <summary>
        /// 底层托盘条码
        /// </summary>
        public string TrayBarcode1 { get; set; } = string.Empty;

        /// <summary>
        /// 中层托盘条码
        /// </summary>
        public string? TrayBarcode2 { get; set; }

        /// <summary>
        /// 上层托盘条码
        /// </summary>
        public string? TrayBarcode3 { get; set; }

        /// <summary>
        /// 托盘组电池数量
        /// </summary>
        public int TotalCellCount { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string MaterialCode { get; set; } = string.Empty;

        /// <summary>
        /// 工艺路径编码
        /// </summary>
        public string TechnologyRouteCode { get; set; } = string.Empty;

        /// <summary>
        /// 工艺工序编码
        /// </summary>
        public string TechnologyProcessCode { get; set; } = string.Empty;

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime? StartTime { get; set; }

        /// <summary>
        /// 分配过货位编码
        /// </summary>
        public string? UsedLocationCode { get; set; }
    }
}
